在 AWS 上進行物聯網與人工智慧實作
本系列文章主要結合三大元素:物聯網設備、雲端計算與人工智慧。隨著人工智慧的爆發式成長,人工智慧的應用已經遍及影像、影片、聲音、對話、文章等領域,而公有雲已經將人工智慧的開發或是應用封裝成完善的服務,對於人工智慧的模型開發者或是應用開發者而言,只需要的去熟悉、了解開發框架,就可以快速的應用人工智慧的技術,而不需要再花時間在購買GPU,安裝驅動、安裝開發框架等基礎環境搭建等無關事務上,可以專注於核心專業上。所以本系列文章以 Python 為主要開發語言, ESP32-CAM 作為物聯網設備,接著介紹 AWS 雲端基礎建設與機器學習的相關服務,最後將 AWS 文字/人臉辨識與 ESP32-CAM 進行整合,完成一個結合物聯網設備、雲端計算與人工智慧的應用系統。
目錄
所需相關知識
- Python 基礎概念
- 介紹單晶片 ESP32-CAM
- 使用 MicroPython 開發ESP32-CAM
- AWS基礎設施服務
- Amazon API Gateway
- AWS Lambda
- Amazon DynamoDB
- Amazon S3
- Amazon Rekognition
- 網際網路基礎
- HTTP Request/Response
所需資源
- AWS 帳號 - 建議可以申請AWS 免費方案
- 或 AWS Academy Learner Lab 帳號 - 這是針對有加入AWS Academy專案的學校,也是免費的
- ESP32-CAM 與 CH340 下載轉接頭
本系列文章
這本系列文章規劃成 5 個部分,從 Python 基礎開始,接著使用 ESP32-CAM 的 microPython,接著在 AWS 上使用AWS Lambda 編寫無伺服器的 Python 程式,來完成文字與人臉辨識的功能,並透過每個單元的實作讓你一步一步完成這份專案:
第一部分 Python 基礎概念
了解 Python 的基礎語法與開發環境
第二部分 ESP32-CAM
介紹單晶片 ESP32-CAM 的出處、結構與基礎程式應用。
- 單晶片 ESP32-CAM
- 使用 MicroPython 開發 ESP32-CAM - Thonny
- 使用 MicroPython 檔案存取
- 使用 MicroPython 控制燈號、撰寫 ISR
- 使用 MicroPython 連接 Wi-Fi、同步 NTP
- 使用 MicroPython 拍照
- 使用 MicroPython 安裝新模組與使用
- 實驗:ESP32-CAM 拍照
第三部分 網際網路基礎
說明網頁運作基本原理。
第四部分 AWS 服務
介紹本次應用中使用到的 AWS 的服務,包含了 API 呼叫、運算服務、儲存、資料庫與影像處理的人工智慧(AI)應用等。
- AWS 基礎設施服務
- Amazon API Gateway
- AWS Lambda
- 實驗:使用 GET 方法查詢資料
- Amazon S3
- 實驗:建立靜態網站
- 實驗:上傳圖片
- Amazon DynamoDB
- 實驗:上傳EXCEL檔並存入資料庫中
- 實驗:查詢資料庫中的資料
- Amazon Rekognition
- 實驗:人臉辨識從 Amazon S3 讀取
- 實驗:文字辨識從 Amazon S3 讀取
- 實驗:文字辨識從客戶端上傳
第五部分 系統整合
透過 API Gateway 整合 ESP32-CAM 與 AWS 服務,並透過網頁觀看結果。
- 定義 REST API
- 實驗:後端-使用 postman 檢驗結果
- 實驗:前端-使用 ESP32-CAM 呼叫 REST API